package org.qiyu.live.im.core.server.service;

import org.qiyu.live.im.dto.ImMsgBody;

/**
 * @Description: //todo
 * @Author: 张广焱
 * @Date: 2024-05-07 下午9:21
 */
public interface IMsgAckCheckService {

    /**
     * @Description: 主要是客户端发送ack包到服务端后，调用进行ack记录的移除
     * @Author: 张广焱
     * @Date: 2024-05-07  21:23:57
     */
    void doMsgAck(ImMsgBody imMsgBody);

    /**
     * @Description: 记录下消息的ack和times
     * @Author: 张广焱
     * @Date: 2024-05-07  21:24:55
     */
    void recordMsgAck(ImMsgBody imMsgBody,int times);

    /**
     * @Description: 发送延迟消息,用于进行消息重试功能
     * @Author: 张广焱
     * @Date: 2024-05-07  21:27:31
     */
    void sendDelayMsg(ImMsgBody imMsgBody);

    /**
     * @Description: 获取ack消息重试次数
     * @Author: 张广焱
     * @Date: 2024-05-07  21:29:26
     */
    int getMsgAckTimes(String msgId,long userId,int appId);
}
